#include <QThread>
#include <QMutex>
#include <QQueue>
#include <QtGlobal>

#include "Experiment.h"
#include "ExperimentResult.h"
#include "DbClient.h"
#include "OcmfServerStatus.h"

#ifndef OCMFSERVER_H
#define OCMFSERVER_H

class OcmfServer : public QThread
{
private:
    qlonglong dbPingInterval;
    qlonglong serverId;
    bool aborted;
    QMutex threadLocker;
    DbClient dbClient;

    ExperimentResult runExperiment(Experiment * experiment);
public:
    OcmfServer();
    //allows the server thread to end
    void Abort();
protected:
    void run();
};

#endif // OCMFSERVER_H
